package com.clarence.dada.core.redis.constants;

/**
 * 缓存模块的常量
 *
 * @author GD
 * @since  2020/10/22 16:55
 */
public interface RedisConstants {

    /**
     * 缓存模块的名称
     */
    String CACHE_MODULE_NAME = "kernel-d-cache";

    /**
     * 缓存模块的异常步进值
     */
    String CACHE_EXCEPTION_STEP_CODE = "07";

    /**
     * 缓存的分割符号
     */
    String CACHE_DELIMITER = ":";

    /**
     * 给hutool缓存用的无限过期时间
     */
    Long NONE_EXPIRED_TIME = 1000L * 3600 * 24 * 999;

    /**
     * 默认缓存的过期时间，10分钟
     */
    Long DEFAULT_CACHE_TIMEOUT = 1000L * 60 * 10;

    /**
     * 默认object对象缓存的缓存前缀
     */
    String DEFAULT_OBJECT_CACHE_PREFIX = "DEFAULT:OBJECTS:";

    /**
     * 默认String对象缓存的缓存前缀
     */
    String DEFAULT_STRING_CACHE_PREFIX = "DEFAULT:STRINGS:";

    /**
     * 登录用户的缓存前缀
     */
    String LOGGED_TOKEN_PREFIX = "LOGGED_TOKEN_";

    /**
     * 登录用户id的缓存前缀
     */
    String LOGGED_USERID_PREFIX = "LOGGED_USERID_";

    /**
     * 登录冻结缓存前缀
     */
    String LOGIN_ERROR_CACHE_PREFIX = "LOGIN:COUNT:";

    /**
     * 用户存放单点登录回调时的token和本系统token的缓存
     */
    String CA_CLIENT_TOKEN_CACHE_PREFIX = "CA_CLIENT:TOKEN:";


    /**
     * 角色绑定资源的缓存
     */
    String ROLE_RESOURCE_CACHE_PREFIX = "role_resource";

    /**
     * 角色信息的缓存
     */
    String ROLE_INFO_CACHE_PREFIX = "role";

    /**
     * 用户缓存的前缀
     */
    String USER_CACHE_PREFIX = "user";

    /**
     * 用户绑定的角色的缓存前缀
     */
    String USER_ROLES_CACHE_PREFIX = "user_roles";

    /**
     * 验证码 缓存前缀标识
     */
    String CAPTCHA_CACHE_KEY_PREFIX = "CAPTCHA_KEY";

    /**
     * 黑名单 缓存前缀标识
     */
    String BLACK_LIST_CACHE_KEY_PREFIX = "BLACK_LIST";

    /**
     * 白名单 缓存前缀标识
     */
    String WHITE_LIST_CACHE_KEY_PREFIX = "WHITE_LIST";

    /**
     * 计数校验用的 缓存前缀标识
     */
    String COUNT_VALIDATE_CACHE_KEY_PREFIX = "COUNT_VALIDATE";
}
